home *** CD-ROM | disk | FTP | other *** search
/ 130 MIDI Tool Box / 130 MIDI Tool Box.iso / ptmid / ptmid.h < prev    next >
C/C++ Source or Header  |  1994-01-08  |  2KB  |  71 lines

  1. /*
  2.  * ptmid.h: Header file for ptmid.
  3.  *
  4.  * Author: Andrew Scott  (c)opyright 1994
  5.  *
  6.  * Date: 17/11/1993 ver 0.0
  7.  *       8/1/1994   ver 0.1
  8.  */
  9.  
  10. #define MAXFILELEN 42
  11. #define PTVER "0.1"
  12. #define MAXPTSAMPS 31
  13. #define MAXPTCHAN 8
  14. #define DEFCONFIG "ptmid.cfg"
  15.  
  16. typedef char *Sz;
  17. typedef char Fn[MAXFILELEN];
  18.  
  19. typedef struct { /** NI structure represents note info **/
  20.     int inst, pitch, vol;
  21. } NI;
  22. typedef struct EI_ EI; /** EI structure represents event info **/
  23. struct EI_ {
  24.     unsigned long effect;
  25.     int cni; /*** If 'cni' field is zero, effect is qpm, else duration ***/
  26.     NI *pni;
  27.     EI *peiNext;
  28. };
  29. typedef struct Tune_ Tune; /** Tune structure holds list of events **/
  30. struct Tune_ {
  31.     unsigned long count;
  32.     Tune *ptune;
  33.     EI *pei;
  34. };
  35.  
  36. typedef struct NRL_ NRL; /** NRL structure represents note record list **/
  37. struct NRL_ {
  38.     int inst, vol;
  39.     Tune *ptuneNow;
  40.     NRL *pnrl;
  41. };
  42.  
  43. typedef struct SI_ SI; /** SI structure represents sample info tree **/
  44. struct SI_ {
  45.     Sz fnSample;
  46.     int pitch, sample;
  47.     unsigned int wLppos, wLplen;
  48.     SI *psiL, *psiR;
  49. };
  50.  
  51. typedef struct { /** MS structure represents a mix of samples **/
  52.     char szName[22];
  53.     int bDefvol, cMix, *pwMixnote;
  54.     SI **ppsiMix;
  55. } MS;
  56.  
  57. extern char bDrumch, szId[5];
  58. extern int fNocopy, fQuiet, fExtend, wPatmax, wPtchan, wQuantval;
  59. extern unsigned wQuant;
  60. extern SI *rgpsiDrum[128], **rgppsiIns[129], *psiTree;
  61. extern Sz szTitle;
  62. extern MS rgmsDecided[MAXPTSAMPS];
  63.  
  64. Tune *PtuneLoadFn(Sz);
  65.  
  66. void ResolvePtune(Tune *);
  67.  
  68. void SavePtunePfile(Tune *, FILE *);
  69.  
  70. int ValidquantSz(Sz);
  71.